This invention relates to external storage units which store data for a computer system, as well as to an integrated system of such external storage units, The invention also relates to remote copy technology to duplicate data among external storage units without need of a host computer connecting external storage unit groups located at distant places with other external storage unit groups. A group of storage units (subsystem) includes a controller that exchanges information with a host unit and a storage unit that is integrated with a disk drive for storing data.
To provide reliable backup of data in a natural disaster such as an earthquake, the distance between a main center and remote centers is typically from 100 km to several hundreds kilometers. For this purpose, several external storage systems provided with a remote copy function that duplicate and store the data among subsystems at a main center and a remote center are used. Such remote copy functions can be separated into two categoriesxe2x80x94a synchronous type and an asynchronous type.
A synchronous remote copy procedure is one that when a data update (write) instruction is issued from a host computer at the main center to a subsystem and the object of the instruction is a remote copy function, the completion of update processing is reported to the host unit at the main center after the data update (writing) is completed at the remote subsystem. In this case, there is a delay time (transmission time etc.) corresponding to the geographical distance between the main center and the remote center, and the delay can be influenced by the performance of data transmission lines between the main center and the remote center.
An asynchronous remote copy operation is a processing procedure that when a data update instruction is issued from the host unit at the main center to its subsystem and the object of the instruction the remote copy function, the completion of update processing is reported to the host unit immediately upon completion of update processing of the subsystem of the main center, with the update (reflection) processing at the remote center executed asynchronously with the processing at the main center. Therefore, because the data is updated within the time required for the processing inside the main center, the processing does not require transmission time caused by sending the data to the remote center.
With the asynchronous processes, the contents of the subsystem at the remote center will not always agree with the contents at the main center. Therefore, if the main center loses functionality, for example, due to a natural disaster, the data not already saved at the remote center will be lost. The access performance of the subsystems at the main center, however, can be maintained at a similar level to the access performance of subsystems which do not execute the remote copy function. Such prior art has had following problems:
xe2x80x9cMaintenance of coherence.xe2x80x9d In a remote copy operation, the subsystem at the remote center is connected with the subsystem at the main center by an independent communication link. When a remote copy is executed among the plural subsystems at the main center and the plural subsystems of remote centers, the configuration consists of two or more sets of subsystems connected by independent communication links.
In this configuration, a copy to the remote center is executed for each communication link; therefore, the time of data update at each subsystem is different. If the main center ceases operating, it is not clear which subsystem has data corresponding to the timing of the data are copied to the remote center. If a time stamp is not attached to each data, the coherence between the main center and the remote center will not be maintained.
Thus, in executing backup processing at the main center with plural subsystems at the remote center, there is maintenance of coherency (maintaining of the updating sequence) of data among the plural subsystems. Here, xe2x80x9csequencexe2x80x9d means not only the sequence of data, but also the coherent xe2x80x9cstatexe2x80x9d in the update in data of each subsystem at the remote side. In an asynchronous remote copy, the reflection of update data to the remote center is delayed from update processing of data at the main center. The sequence, however, of the update of the data must be in accordance with the sequence of the update of the data at the main center. Or looking at intervals, the sequence of data update processing generated at the main center and the sequence of the data update processing at the remote center must be coherent.
Generally, a database system comprises a database main body, and various kinds of log information and control information, and these are mutually related. In a data update, the log information and control information added to the database main body are updated to maintain coherence of the system. Therefore, if the sequence of the data update is scrambled, the coherence of these data that related to the update sequence will also be scrambled. This can cause the entire database to be compromised.
xe2x80x9cIntervention of host unit.xe2x80x9d In an asynchronous remote copy in the general environment where the main center and the remote center are provided with two or more subsystems, generally when a host unit provides updated data to subsystems information related to the sequence of data update, for example, a time stamp, is added to the data. Based on such information, the processing to update the data is executed at the subsystems at the remote. For example, the remote copy disclosed by U.S. Pat. No. 5,446,871 describes a remote copy function with the intervention of a host system.
In the art disclosed by U.S. Pat. No. 5,446,871, the issue and transfer of the information for a data update sequence, and the processing to reflect the updated data are realized by cooperation of the operating system of the host unit and the disk subsystems on the side of the main center, and the data mover software of the host unit and the disk subsystems on the side of remote center.
With a prior art asynchronous type remote copy function the sequence of data update between the main center and the remote center can be assured. With the prior art, however, special software in the host unit and the subsystem are required, and the cooperation of each is necessary. For this, special dedicated software is required and difficult development, set up, inspection of the software, and review of system design with associated CPU load results. Therefore, considerable time and expense are required to introduce this function.
To provide an asynchronous remote copy function using only the functionality of the subsystems, the coherency of the sequence of data update must be maintained using only the subsystems. There is a problem that when the data that require the coherence of the sequence of data update are distributed to two or more subsystems, there is no means for maintaining the coherence of the sequence of data update among two or more subsystems. Moreover, it is desirable to prevent increased overhead caused by processing inside subsystems to maintain the sequence of data update.
The present invention provides an asynchronous type remote copy function that assures data coherence using the function of the subsystems, is easier to introduce and does not significantly deteriorate performance at the main center, and does not introduce new software to the host unit. The subsystems of a main center and a distant remote center are connected each other. When there are two or more subsystems, one of the subsystems (hereafter a master subsystem) is connected with all of other subsystems (hereafter a slave subsystem) at the main center.
A master subsystem at the main center temporarily suspends the remote copy and releases the temporary suspension of the remote copy. When a user sets these characteristics in the master subsystem in advance, the operation can be executed at any time during the execution of remote copy. When the subsystem at the main center receives data for update from the host unit, the subsystem starts the storage of the data in the subsystem.
Then, the master subsystem determines if the remote copy of the subsystem is temporarily suspended. If not, the data will be the object of transfer to the remote center. A slave subsystem confirms the state of the master subsystem by the control bits (explained later) when the slave subsystem receives update data from the host unit. Only when it is confirmed that the master subsystem is not in temporary suspension of the remote copy, is update data transferred to the remote center.
When the slave subsystem confirms the state of the master subsystem and detects that the master subsystem has temporarily suspended the remote copy, the slave subsystem temporarily suspends the remote copy. In the state of temporary suspension, the data transfer to the remote center is stopped, regardless of the master subsystem or the slave subsystem. Only the main center executes the data update processing, and the data update information is controlled and stored inside each subsystem. After the master subsystem releases temporary suspension of the remote copy, both the master subsystem and the slave subsystem restart the data transfer to the remote center. In this case, the updated data at the main center during temporary suspension of the remote copy is also the object of data transfer. Thus, duplication of data between the volumes of each subsystem at the main center and the remote center is executed by the asynchronous type remote copy.